package com.silence.springboot.service;


import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.silence.springboot.entity.RoleEntity;
import com.silence.springboot.vo.input.AddRoleInput;
import com.silence.springboot.vo.input.PageRolesInput;
import com.silence.springboot.vo.input.UpdateRoleInput;
import com.silence.springboot.vo.output.PageRolesOutput;

import java.util.List;

/**
 * 权限表 服务层。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
public interface RoleService extends IService<RoleEntity> {

    /**
     * 分页查询权限表
     *
     * @param input 分页查询权限表入参
     * @return 分页查询权限表出参
     */
    Page<PageRolesOutput> pageRoles(PageRolesInput input);

    /**
     * 新增权限表
     *
     * @param input 新增权限表入参
     */
    void addRole(AddRoleInput input);

    /**
     * 更新权限表
     *
     * @param input 更新权限表入参
     */
    void updateRole(UpdateRoleInput input);

    /**
     * 根据id删除权限表
     *
     * @param id 权限表主键
     */
    void deleteRoleById(String id);

    /**
     * 根据ids批量删除权限表
     *
     * @param ids 权限表主键列表
     */
    void deleteRoleByIds(List<String> ids);
}